#include<algorithm>
#include<cstdio>
#include<cstring>
#include<queue>
#define eps 1e-6
#define INF 0x3f3f3f3f
#define inf 1e18
#define ll long long
#define db double
#define pb push_back
#define mk make_pair
inline int read(){
    char ch=getchar();
    int x=0,f=1;
    while(ch<'0'||ch>'9'){
        if(ch=='-') f=-1;
        ch=getchar();
    }
    while(ch>='0'&&ch<='9'){
        x=x*10+ch-'0';
        ch=getchar();
    }
    return x*f;
}
using namespace std;
#define M 100005
int n,a[M];
int main(){
    freopen("duel.in","r",stdin);
    freopen("duel.out","w",stdout);
    n=read();
    for(int i=1;i<=n;i++) a[i]=read();
    sort(a+1,a+n+1);
    int ans=n;
    queue<int> q;
    for(int i=1;i<=n;i++){
        if(!q.empty()&&a[q.front()]<a[i]) ans--,q.pop();
        q.push(i);
    }
    printf("%d\n",ans);
    return 0;
}